草庐IT

java - 以编程方式访问 JPA <persistence-unit-metadata>

是否可以访问中的信息?通过JavaAPI?MySchema我想通过JPAAPI或EclipseLinkAPI读取模式“MySchema”,这是我使用的实现。类似于:entityManager.getDefaults().getSchema();可以转换或使用任何EclipseLink类,这很好。谢谢 最佳答案 经过一段时间的调试后,我找到了访问实体架构的解决方案。EntityTypeentity=emf.getMetamodel().entity(MyEntity.class);EntityTypeImplentityTypeImp

java - Spring 数据 JPA @EnableJpaRepositories TypeNotPresentExceptionProxy

我有一个带有spring数据jpa1.2.0.RELEASE的spring3.2.0.M2设置。我也有java配置。这是我的存储库配置类。@Configuration@EnableJpaRepositories(basePackages={"xxx.xxx.xxx.core.dao"})@EnableTransactionManagementpublicclassRepository{@BeanpublicDataSourcedataSource(){DriverManagerDataSourcedataSource=newDriverManagerDataSource();dataS

java - JPA 中的 PostgreSQL 函数 string_agg

在PostgreSQL中,string_agg(column,separator)允许聚合一些字符串。我尝试将它与JPA一起使用,但它不是JPA标准函数。注意:这不等同于CriteriaBuilder#concat()。所以,我试图告诉JPA这个函数存在,就像这样:publicclassStringAggextendsParameterizedFunctionExpressionimplementsSerializable{publicstaticfinalStringNAME="string_agg";@OverridepublicbooleanisAggregation(){ret

java - JPA OneToMany映射异常: Field XXX cannot declare that it is mapped by another field

在我的项目中,我在下面报告了类,它们具有双向关系映射。当我尝试通过JPA读取DataProviderImpl类型的对象时,出现以下异常:org.apache.openjpa.persistence.ArgumentException:Field"persistence.entity.DataProviderImpl.methods"cannotdeclarethatitismappedbyanotherfield.Itsmappingstrategy(org.apache.openjpa.jdbc.meta.strats.HandlerCollectionTableFieldStrat

java - 是否有其他类似于 BigDecimal ("1.0").equals(new BigDecimal ("1") 返回 false 的陷阱?

我最近在BigDecimal中发现了一个我以前没有意识到的行为。对于精度很重要的领域,我一直将它们用作double的替代方法。例如在财务计算中。但是最近我发现了这个事实newBigDecimal("1.0").equals(newBigDecimal("1"))==false我不得不承认我对此感到惊讶。我认为这是因为第一个的比例为1,而第二个的比例为0,但它似乎仍然违反直觉。我认为我以前从未遇到过它的原因是因为我们一直使用固定比例BigDecimals进行财务计算。检查BigDecimaldocumentation我可以看到,compareTo()==0应该用于检查忽略比例的相等性,而

java - 如何在 JPA 和 Hibernate 中从具有大量子项的 @ManyToMany 关系中删除子对象

假设我有两个实体:组织和用户。每个用户都可以是多个组织的成员,每个组织都可以有多个用户。@EntitypublicclassUser{@ManyToManySetorganizations;//...}@EntitypublicclassOrganization{@ManyToMany(mappedBy="organizations")Setusers;//...}现在,我想删除一个组织(假设它有1000个成员)。当用户的组织很少时,这段代码就可以了:voidremoveOrgFromUser(IntegeruserId,IntegerorgId){Useruser=session.l

java - JPA:数据库生成的列

我遇到了Hibernate和JPA的问题。我的要求是列CreatedDTTM和LastUPDATEDDTTM应该在数据库级别填充。我试过跟随但没有用。我的列设置为NOTNULL。我收到“无法将Null插入LastUpdatedDttm”异常。任何指导表示赞赏。@Column(name="LAST_UPDATED_DTTM",insertable=false,updatable=false,columnDefinition="DatedefaultSYSDATE")@org.hibernate.annotations.Generated(value=GenerationTime.INSE

java - 不带应用程序服务器的 JPA

我正在编写一个小型Java应用程序,我希望能够将数据模型持久保存在数据库中。所以我想知道我是否可以为此使用JPA。我前段时间使用过JPA,但据我所知,它需要一个应用程序服务器。所以我想知道我是否可以只使用JPA来持久化我的类而不使用应用程序服务器。 最佳答案 是的,您可以在没有应用程序服务器的情况下使用JPA。这是一个可能对您有帮助的教程:TopLinkJPA:HowtouseJPAwithJavaSE 关于java-不带应用程序服务器的JPA,我们在StackOverflow上找到一个

java - JPA 和 toplink create-table 如果它们尚不存在?

看起来jpa是让我问了很多问题的东西。添加了这个我的JPA应用程序总是在运行时创建表,这会在表已经存在的情况下导致异常。我希望JPA检查表是否已经存在,如果不存在则创建它们,但是我找不到执行此操作的上述属性的值。因此,如果我只是将其关闭,是否有办法在某个时候手动告诉JPA创建所有表?更新这里是我得到的异常InternalException:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:Table'tags'alreadyexistsErrorCode:1050Call:CREATETABLEtags(IDBIGINT

java - JPA/Hibernate 删除实体不工作

我正在使用Hibernate的JPA接口(interface),我编写了一些简单的代码来从数据库中加载一个实体,然后将其移除(删除)。我对插入和更新实体的所有合并调用都运行良好,但是当我尝试删除实体时,Hibernate不会将其从数据库中删除,也不会抛出任何异常。我在下面包含了相关代码:主要方法:/***Acceptaninvitethatwassenttoyou.**@paraminviteId*@returnXMLmodeloftheEventMember.*/@RequestMapping(value="/invites/accept.rest")publicModelAndVi