草庐IT

hibernate3

全部标签

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

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

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 - 使用 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 - 有没有办法阻止 Hibernate 破坏 @Where 注释中的 boolean 文字?

我想在Hibernate中使用@Where注释来删除已被该对象的boolean属性标记为“已删除”的对象。例如,以下应防止Hibernate加载任何已删除的地址:@OneToMany(mappedBy="contact")@Where(clause="deleted=FALSE")privateSetaddresses;但是,当我使用像deleted=FALSE这样的子句时,Hibernate会通过在boolean文字前加上表名来破坏boolean文字,这会导致查询失败。例如:select...fromaddressaddress0_where(address0_.deleted=ad

java - 执行加载命令时出错 : org. hibernate.exception.SQLGrammarException: 无法在线程 "main"中提取 ResultSet 异常

我正在尝试设置一个小的JPA工作示例,但是当我运行代码时出现以下错误:importjavax.persistence.EntityManager;importjavax.persistence.EntityManagerFactory;importjavax.persistence.Persistence;importencje.Klient;importencje.Zamowienie;publicclassSzkolenieJPA{publicstaticvoidmain(String[]args){EntityManagerFactoryfabryka=Persistence.c

java - 在 Hibernate 中使用 "ON clause"获取连接的替代方法

给定以下RDBMS中的域模型,该模型使用Hibernate映射到Java对象。┌─────────┐┌─────────────┐│Project│10..n│UserSetting│├─────────┼------------┼─────────────┤│name││username│└─────────┘│favorite│└─────────────┘用户可以将项目标记为最喜欢的项目,这反射(reflect)在关联的(可选)UserSetting条目中。如果用户没有标记项目,则数据库中没有UserSetting条目,这意味着该项目不受欢迎。将UserSetting视为“稀疏”

java - hibernate 映射 : ignore a super class field

我有一个A类和B类publicclassA{intf1;intf2;intf2;}publicclassBextendsA{}我的问题是如何忽略映射到B的表中的字段,例如“f2”? 最佳答案 假设我对您的帖子所做的编辑获得批准,我将尝试回答。在下面的代码中,我忽略了类A中的字段f2,即使用AttributeOverride的B的父类(superclass)。@Entity@AttributeOverride(name="f2",column=@Column(name="f2_col",insertable=false,updatab

java - 配置 Hibernate 以使用 Oracle 的 SYS_GUID() 作为主键

我正在寻找一种方法让hibernate在插入新行时使用oracle的SYS_GUID()函数。目前我的数据库表有SYS_GUID()作为默认值,所以如果hibernate只是简单地生成省略了它应该工作的值的SQL。我一切正常,但它目前正在使用system-uuid生成器在代码中生成UUID/GUID:@Id@GeneratedValue(generator="system-uuid")@GenericGenerator(name="system-uuid",strategy="uuid")@Column(name="PRODUCT_ID",unique=true,nullable=fa