草庐IT

持久化

全部标签

java - 包含 Set 的 @ManyToMany Map 的 JPA2 持久性

我需要保留类型为Map>的成员,使用JPA2注释。关系是多对多的,Item对象是实体。我是否应该创建一个单独的中介实体持有Set还是可以直接映射?如果缺少某些上下文,请告知。 最佳答案 ShouldIcreateaseparateintermediaryEntityholdingSetorisadirectmappingpossible?JPA不支持嵌套集合关系(ListofLists,MapofSets,等等)。这是关于Map的规范的相关部分:2.7MapCollectionsCollectionsofelementsandent

java - 如何持久化 EnumSet(使用两个数据库表)?

我想在我的实体中将一组选项表示为EnumSet,并在我的数据库中表示为一对多关系。这是如何正确完成的?我只能找到旧的(预注释)答案或不使用两个表的答案。我定义了以下表格:CREATETABLEUsers(idSERIALPRIMARYKEY,nameVARCHAR(255)NOTNULLUNIQUE);CREATETABLEUser_Options(user_idINT,user_optionVARCHAR(255),PRIMARYKEY(user_id,user_option),FOREIGNKEY(user_id)REFERENCESUsers(id)ONDELETECASCADE

java - EJB 计时器是否应该持久/可靠?

例如如果我将计时器设置为每天午夜到期,如果一个“失火”(例如,由于服务器关闭而不会触发回调)会发生什么?我在文档中找不到它。有没有办法让这个定时器在服务器重启时立即触发回调?PS:我了解Quartz,我正在评估EJB计时器作为替代方案。 最佳答案 您可以使用TimerHandle使计时器持久化。EJB时间旨在避免容器崩溃。查看此article用于EJB时间与其他调度程序系统(如Quartz)之间的比较。 关于java-EJB计时器是否应该持久/可靠?,我们在StackOverflow上找

java - 持久性管理器中的 HashMap

所以我正在尝试使用servlet、过滤器等构建一个谷歌应用引擎。我有一个看起来像这样的java文件:publicclassIdeaimplementsComparator{@PrimaryKey@Persistent(valueStrategy=IdGeneratorStrategy.IDENTITY)privateKeykey;@PersistentprivateUserauthor;@PersistentprivateStringcontent;@PersistentprivateDatedate;@PersistentprivateMappositiveVotes;@Persis

Java 持久性 API

我是JavaPersistenceAPI的新手.我刚学会它,现在想在我的Java桌面应用程序中使用它。但我有以下问题:Q1。哪个JPA实现的大小最小(因为我希望我的应用程序的大小尽可能小)?Q2。如何找到的值persistence.xml中的标签文件。我知道它的值是特定于供应商的,但我找不到从here下载的JPA实现的值。. 最佳答案 Q1.WhichJPAimplementationissmallestinsize(asIwanttohavemyapplication'ssizeassmallaspossible)?对于JPA1.

java - Hibernate,自动持久化依赖对象

我是Hibernate的新手,一直在尝试确定它能为您做什么以及它需要您做什么。一个大的对象正在处理一个对象,该对象具有数据库中尚不存在的依赖项。例如,我有一个Project对象,其中包含接受Manufacturer对象作为其值的Manufacturer字段。在数据库中,我有一个带有mfr_id列的产品表,该列是对制造商表的引用(一种相当典型的单向一对多关系)。如果分配给产品对象的制造商与数据库中已有的制造商相关,则没有问题。但是,当我尝试保存或更新引用尚未保留的制造商的对象时,操作失败并出现异常。Exceptioninthread"Application"org.hibernate.T

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 - JPA 在 ManyToOne 关系中持久化对象

我的数据库中有一个公司/员工@OneToMany关系定义为:@EntitypublicclassEmployee{@Id@GeneratedValue(strategy=GenerationType.IDENTITY)privatelongid;@ManyToOne@JoinColumn(name="companyid")Companycompany;....}@EntitypublicclassCompany{@Id@GeneratedValue(strategy=GenerationType.IDENTITY)privatelongid;...}现在我要将新创建的员工添加到一家独立

java - 如何使用 JPA2 持久化包含用户类型字段的实体

我正在寻找一种方法来持久化包含用户类型字段的实体。在这个特定示例中,我想将ts字段保留为毫秒数。importorg.joda.time.DateTime;@EntitypublicclassFoo{@IdprivateLongid;privateDateTimets;} 最佳答案 JPA无法注册自定义属性类型,您必须使用提供者特定的东西:hibernate:http://joda-time.sourceforge.net/contrib/hibernate/Eclipse链接:http://code.google.com/p/jod

持久化实体时出现 javax.ejb.EJBException

我有一个名为Medico的实体,它是作为数据库中的实体类创建的,因此我认为此处的实体定义是故障安全的,但定义如下:@Entity@Table(name="medico")@XmlRootElement@NamedQueries({Allnamedquerieshere})publicclassMedicoimplementsSerializable{privatestaticfinallongserialVersionUID=1L;@Id@GeneratedValue(strategy=GenerationType.IDENTITY)@Basic(optional=false)@Not