草庐IT

Hibernate

全部标签

java - 在 Hibernate 中映射多级继承

目前我有这样的结构:A|+--B|+--C它使用连接表为每个子类映射一个表。由于历史原因,我也使用了鉴别器,所以目前的情况如Section9.1.3oftheHibernatemanual所述。.问题:如何为这样的结构扩展映射:A|+--B|||D|+--C我可以一个在hibernate映射中?什么我需要什么? 最佳答案 未测试但是,如果您使用的是hibernate3,则根据您发布的链接 关于java-在Hibernate中映射多级继承,我们在StackOverflow上找到一个类似的问

java - hibernate 和享元

有没有一种方法可以将享元对象与hibernate持久性映射一起使用?我的数据模型包含许多相同的对象。我不想为每个相同的对象创建一个单独的实例,而是使用享元设计模式并始终引用相同的物理对象。如何在hibernate中实现这一点?顺便说一句。是否所有JVM都以某种方式优化了字符串的使用,使得当同一个字符串被多次使用时,它始终是同一个物理实例? 最佳答案 视情况而定。对于只读值,您可以通过创建自定义UserType轻松实现享元模式,该自定义UserType每次都会从池中返回对象而不是新实例。对于实体,Hibernate默认情况下是理智的,

java - Hibernate 因在 ManyToMany 关联上将完全限定的类名添加到属性名而失败

我正在尝试使用ManyToMany关联将两个对象相互映射,但是由于某种原因,当我使用mappedBy属性时,hibernate似乎对我正在映射的内容感到困惑。我的映射唯一奇怪的地方是关联不是在其中一个条目的主键字段上完成的(尽管该字段是唯一的)。表格是:Sequence(idNUMBER,referenceVARCHAR,)Project(idNUMBER)Sequence_Project(proj_idnumberreferencesProject(id),referencevarcharreferencesSequence(reference))对象看起来像(注释在getter上,

java - 无法配置 EntityManagerFactory

我是JPA和hibernate的新手。在我的网络应用程序中,我已将JDBC代码更改为JPA。在运行网络应用程序时,我收到了一大堆错误。但根据我对JPA和Hibernate的了解,我认为下面的两个错误代表了我的大部分问题。无法配置EntityManagerFactory16047[31149935@qtp-23671010-1]错误org.hibernate.util.XMLHelper-解析XML时出错:XMLInputStream(2)cvc-complex-type.3.1:元素的属性“version”的值“2.0”“entity-mappings”对于相应的属性使用无效。属性“版

java - 不支持 @Any 注释的 Hibernate 3.5 或 3.6?

我目前正在进行系统迁移(从使用JPA1的hibernate3.2.2.GA到使用JPA2的hibernate3.6。迁移本身非常简单,没有重大更新要做(事实上,我不认为有任何)。我面临的问题是hibernate在运行时抛出异常,提示@Any注释。堆栈跟踪如下:Causedby:java.lang.UnsupportedOperationException:anynotsupportedyetatorg.hibernate.ejb.metamodel.AttributeFactory.determineAttributeMetadata(AttributeFactory.java:452

java - 使用 @Where 子句的 Hibernate @OneToOne 映射

这行吗-@OneToOne()@JoinColumn(name="id",referencedColumnName="type_id")@Where(clause="type_name=OBJECTIVE")publicNoteEntitygetObjectiveNote(){returnobjectiveNote;}这就是我想要做的-从note表中获取记录,其type_id是当前对象的id和type_name是OBJECTIVE。我无法使上述映射工作。我在这里做错了什么? 最佳答案 这只是简单的行不通,抱歉:(您将需要以一对多的方

java - 如何在Hibernate中调用存储过程?

我在Oracle数据库中有一个存储过程。GET_VENDOR_STATUS_COUNT(DOCUMENT_IDINNUMBER,NOT_INVITEDOUTNUMBER,INVITE_WITHDRAWNOUTNUMBER,...其他参数为OUT参数。在我的hbm文件中,我写了以下内容:{callGET_VENDOR_STATUS_COUNT(:DOCUMENT_ID,:NOT_INVITED,:INVITE_WITHDRAWN,:INVITED,:DISQUALIFIED,:RESPONSE_AWAITED,:RESPONSE_IN_PROGRESS,:RESPONSE_RECEIVE

java - Spring单元测试用例不回滚记录插入

以下测试用例在功能上正常工作,但必须在数据库中创建新文章的测试方法之一在测试用例执行结束时不会回滚。我希望它能那样工作。对于更新文章的测试用例,实际上会在测试用例执行结束时回滚更新。@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(value="/applicationContext-test.xml")@TransactionConfiguration(transactionManager="txManager",defaultRollback=true)@TransactionalpublicclassPric

java - 使用 PostgreSQL,为什么 Hibernate/JPA 不创建级联约束?

我有一个实体Bar:@OneToMany(cascade=CascadeType.ALL,mappedBy="bar")privateSetfooSet;还有一个实体Foo:@ManyToOne(optional=false)@JoinColumn(name="bar_id")privateBarbar;Hibernate在foo.bar->bar.id上创建外键约束,但它没有指定ONDELETECASCADE。为什么不?有什么方法可以实现吗?或者,我可以在数据库中手动添加ONDELETECASCADE(并禁用DDL生成),这是一个好的做法吗?而且,我是否必须修改我的代码以某种方式让H

java - Java 中动态 SQL 库的比较

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。考虑一个需要对后备数据库进行实时搜索的只读服务。该服务需要能够生成相当复杂的选择查询,以生成基于多表对象的摘要、报告和结果。库/框架选择的优先级是性能(sql)、可维护性和生命周期。Hibernate-似乎需要“技巧”才能让它生成正确的SQL,CriteriaAPI看起来很有前途,但在涉及任意查询时也有一些限制。MyBatis-没有类似Criteria的