Tag: hibernate

mappedBy引用一个未知的目标实体属性

我有一个问题,在我的注释对象中build立一对多的关系。 我有以下几点: @MappedSuperclass public abstract class MappedModel { @Id @GeneratedValue(strategy=GenerationType.AUTO) @Column(name="id",nullable=false,unique=true) private Long mId; 那么这个 @Entity @Table(name="customer") public class Customer extends MappedModel implements Serializable { /** * */ private static final long serialVersionUID = -2543425088717298236L; /** The collection of stores. */ @OneToMany(mappedBy = "customer", cascade = CascadeType.ALL, fetch = FetchType.LAZY) private Collection<Store> stores; 和这个 @Entity […]

如何closureshbm2ddl?

我找不到关于如何closureshbm2ddl的参考。

JPA:实现模型层次结构 – @MappedSuperclass与@Inheritence

我正在使用PostgreSQL和JPA Play Framework 1.2.4。 我想有一个模型层次结构,并看到有这样做的一些替代scheme。 我有一个基类(这是抽象的)和两个扩展这个基类的具体类。 我不想坚持这个基础课,而我想要具体的课。 在基类中,我有另一个Model类作为属性,换句话说,我在我的基类中有@ManyToOne关系。 我的问题是实现这个的最好方法是什么? 使用@MappedSuperclass或@Inheritence与TABLE_PER_CLASS策略? 我有点困惑,因为它们看起来几乎相同。 我对于将来可能面临的查询和性能问题也有一些担忧。

没有更多的数据从套接字错误读取

我们使用Oracle作为Web应用程序的数据库。 应用程序大部分时间运行良好,但是我们得到这个“没有更多的数据从套接字读取”的错误。 Caused by: java.sql.SQLRecoverableException: No more data to read from socket at oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1142) at oracle.jdbc.driver.T4CMAREngine.unmarshalSB1(T4CMAREngine.java:1099) at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:288) at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:191) at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:523) at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:207) at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:863) at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1153) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1275) at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3576) at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3620) at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1491) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:93) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:93) at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:208) at org.hibernate.loader.Loader.getResultSet(Loader.java:1869) at org.hibernate.loader.Loader.doQuery(Loader.java:718) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:270) at org.hibernate.loader.Loader.doList(Loader.java:2449) … 63 more 我们使用spring,hibernate,并在我的applciation上下文文件中有以下数据源。 <bean […]

Hibernate的获取策略 – 何时使用“连接”以及何时使用“select”?

大多数的Hibernate关联支持“fetch”参数: fetch="join|select" “select”是默认值。 如何决定哪个关联使用哪一个? 我尝试从“select”到“join”应用程序全部更改 – 生成的查询数量减less了大概10倍,但性能保持完全相同(甚至变得更糟糕)。 谢谢。

debuggingSpringconfiguration

我正在研究使用Spring和Hibernate的Java应用程序,并在Websphere上运行。 我遇到了一个问题,我希望Spring将Dao加载到我的对象中,但由于某种原因,这并没有发生。 (以同样方式指定的另一个Dao加载正常。) 问题是 – 我怎样才能debuggingSpring如何决定如何加载? 我可以打开日志logging的spring,在哪里?

如何使用JPA2的@Cacheable而不是Hibernate的@Cache

通常,我使用Hibernate的@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)来caching一个@Entity类,它运行良好。 在JPA2中,还有另外一个@Cacheable注释,看起来和Hibernate的@Cache有相同的function。 为了让我的实体类独立于Hibernate的包,我想试试看。 但是我不能使它工作。 每次简单的ID查询仍然击中数据库。 谁能告诉我哪里出了问题? 谢谢。 实体类: @Entity //@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE) @Cacheable(true) public class User implements Serializable { // properties } testing课: @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations={"classpath:app.xml"}) @TransactionConfiguration(transactionManager="transactionManager") public class UserCacheTest { @Inject protected UserDao userDao; @Transactional @Test public void testGet1() { assertNotNull(userDao.get(2L)); } @Transactional @Test public void testGet2() { assertNotNull(userDao.get(2L)); } @Transactional @Test public […]

为了避免死锁,什么是hibernate所需的C3P0设置

我将Hibernate和MySQL 5.1.30一起使用。 我有下一个库: c3p0-0.0.1.2.jar MySQL的连接器的Java-5.0.3-bin.jar hibernate.jar文件 我使用hibernate.cfg.xml进行configuration: <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <!– Database connection settings –> <property name="connection.driver_class">org.gjt.mm.mysql.Driver</property> <property name="connection.url">jdbc:mysql://localhost/fooDatatbase</property> <property name="connection.username">foo</property> <property name="connection.password">foo123</property> <!– Use the C3P0 connection pool provider –> <property name="hibernate.c3p0.min_size">5</property> <property name="hibernate.c3p0.max_size">20</property> <property name="hibernate.c3p0.timeout">300</property> <property name="hibernate.c3p0.max_statements">50</property> <property name="hibernate.c3p0.idle_test_periods">3000</property> <!– SQL dialect –> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <!– […]

JTA,JPA和Plain JDBC在hibernate方面的区别

在hibernate方面,JTA,JPA和Plain JDBC有什么区别?

hibernate query.list()方法正在返回空列表而不是空值

当没有行时,query.list()和criteria.list()都返回空列表,而不是空值。 这背后的原因是什么?