草庐IT

persistence

全部标签

java - 春+ hibernate : LocalSessionFactoryBean - NoSuchMethodError: org. hibernate.cfg.annotations.reflection.XMLContext

我正在尝试将Hibernate4.0.0.FINAL与Spring3.1.0.RELEASE集成使用@Configuration。之后出现这个问题:BeanCreationException:Errorcreatingbeanwithname'alertsSessionFactoryBean'NoSuchMethodError:org.hibernate.cfg.annotations.reflection.XMLContext$Default.getDelimitedIdentifier()Ljava/lang/Boolean;这是我的PersistenceHibernateConf

java - Intellij IDEA 插件 - 未调用 PersistentStateComponent loadState

我正在尝试为IntellijIDEA开发一个插件,我正在使用SDK129.451。我遇到的问题是我无法像他可以在插件中输入的某些列表项那样保留用户数据,并在IDE重新启动后恢复数据。我正在使用PersistentStateComponent来持久化数据,似乎调用了getState()方法,但没有调用loadState()方法。这是一个扩展PersistentStateComponent的示例类:@State(name="Test",storages={@Storage(file=StoragePathMacros.APP_CONFIG+"/other.xml")})publicclas

java - 持久化@Column nullable = false 可以插入null

我想做的是这一列不能为空,但是当我在数据库中插入一个寄存器值为空时,这允许我插入。我读了documentation我不知道为什么不起作用。@Column(name="QWECOD",nullable=false)私有(private)字符串qwe;谢谢更新:我正在使用Toplink和javaorg.eclipse.persistence.eclipselink:2.4.2。 最佳答案 我认为如果您使用entitymanager的实现生成模式,则可以使用nullable。我不知道在持久化实体时是否/必须对其进行验证。如果您使用@Not

java - 如何让 Hibernate 为新对象从 1 开始版本列?

有谁知道是否可以让Hibernate使用1作为新对象的版本(乐观锁定字段)而不是零?我的应用程序以前使用的是从1开始的Eclipselink,更改导致了一些问题。我正在使用JPA,但希望任何解决方案都是特定于Hibernate的(希望是persistence.xml中的一个属性!)。 最佳答案 问得好,文档中没有明确提及(eventhoughithintsthatit'spossible)。我也找不到针对这种情况的任何测试,因此,这可能是对Hibernate测试套件的一个很好的改进;-)无论如何,如果您将@Version属性映射到起

java - JPA @Entity 继承

我研究JPA/Hibernate@Entity继承已有一段时间了,但似乎找不到任何可以解决我想要实现的目标的东西。基本上,我希望能够根据需要定义一个包含所有列和表映射的@Entity。然后,我希望能够使用在每个“子实体”的主体中定义的不同组的@Transient方法在许多不同的位置扩展@Entity。这是我正在努力实现但迄今为止没有成功的基本示例:@Entity@Table(name="mountain")publicclassMountainEntityBaseimplementsSerializable{publicIntegermountainId=0;publicInteger

java - 将 java BitSet 保存到数据库

使用JPA,我当然希望能够将BitSet保存到数据库并拉回。假设我有:@Entity@Table(name="myTable")publicclassMyClass{@Id@GeneratedValue(strategy=GenerationType.IDENTITY)@Column(name="Object_Id")protectedlongid;@Column(name="Tags")protectedBitSettags;...getters&settersetc...}我是否也应该定义一个“columnDefinition”?我真的不明白它是如何持久化的(使用toString(

java - 使用给定的字段对象 id 而不是对象本身存储 JPA 实体

问题如下:我们有实体:@EntitypublicclassFeedback{@Id@GeneratedValue(generator="token")privateStringid;@ManyToOneprivateProductproduct;privateStringmessage;//otherfields}我们有一个服务器端点,它接收来自客户端的反馈。以多部分/基于表单的格式收到的反馈,包含以下字段:ProductId-productidentifierMessage-feedbackmessageSomeotherfields要设置Feedback.product,我们需要从

java - Persistence.xml 和 OSGi (Equinox)

我目前正在使用OSGi进行测试。我正在通过Eclipse运行它。我想让我的DAO层成为OSGi解决方案的一部分,但我的第一个绊脚石是这个错误:Jun29,20096:12:37PMorg.hibernate.cfg.annotations.VersionINFO:HibernateAnnotations3.3.0.GAJun29,20096:12:37PMorg.hibernate.ejb.VersionINFO:HibernateEntityManager3.3.0.GAJun29,20096:12:37PMorg.hibernate.ejb.Ejb3Configurationcon

java - 为什么我们需要在 <persistence-unit> 元素中指定类?

我的persistence.xml有2个持久性单元。他们每个人都有几个元素。我认为我们必须指定与某个持久性单元相关的所有类。但是我不小心忘记了为新实体指定类元素,但即使没有它,程序也能正常工作。然后我删除了所有类元素,一切正常。那么,我们为什么需要它?示例代码:chartdemo.model.domain.Category 最佳答案 如果您没有在persistence.xml文件中指定类,您的持久性管理器将管理persistence.xml文件所在位置(jar文件、类目录)中的所有实体类。列出类使您可以灵活地选择实体并将它们分组到持

java - openejb 嵌入式容器找不到 persistence.xml

我在嵌入式模式下使用openEjb来测试无状态sessionbean,它有一个注入(inject)的EntityManager。但是,当我运行测试时,它失败了,因为它无法初始化应用程序。当我看到控制台时,我还可以看到与无法找到persistence.xml有关的错误注意:我尝试将WebContent和META-INF放在类路径中,但这也无济于事。更新:在使用openejb+eclipse时,资源查找有一些非常奇怪的地方。我将WebContent添加到源文件夹。我不再收到persistence.xml错误,但现在我收到一个错误,表明openejb找不到任何托管资源我将WebContent