我正在重新学习Hibernate和JPA。我正在使用Spring Boot,Gradle和Postgres为我的环境。我有一组访问Postgres数据库的域对象。两个对象不使用注释,使用一个JDBCTemplate类进行数据库操作。另一组域对象使用JPA注释。JPA对象集具有使用JPA注释映射的关系。当我运行单元测试来检查JDBC模板对象的数据库实体时,一切都很好。当我检查数据库时,我发现使用注释的那些域对象有重复的实体。
我已经检查了我的注释和项目的设置,但没有成功地找到我的错误。
下面是我的类定义:
import javax.persistence.*;
import java.io.Serializable;
import java.sql.Timestamp;
@Entity(name="AcceptanceCriteria")
@Table(name="accCriteria_tbl", schema="ia_req_changes")
@SequenceGenerator(name="AcceptCritera_SEQ_GEN", schema="ia_req_changes", sequenceName = "accCriteria_tbl_accCri_id_seq", initialValue = 1, allocationSize = 1)
public class AcceptanceCriteria implements Serializable{
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator="AcceptCritera_SEQ_GEN")
@Column(name="accCri_id", updatable = false)
private Long accCri_id;
@Column(name="accAction")
private String accAction;
@Column(name="accControl")
private String accControl;
@Column(name="accAccptCriteria")
private String accAccptCriteria;
@Column(name="lastModified")
private Timestamp lastModified;
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "FK_funcReq_id", referencedColumnName = "funcReq_id")
private FunctionalRequirement functionalReq;
public AcceptanceCriteria() {
}
在Postgres中,可以用双引号创建表(和列),表名区分大小写。例如,创建一个表
create table some_case (id bigint);
尝试重新创建它
create table Some_Case (id bigint);
它导致
但是用双引号。
create table "Some_Case" (id bigint);
它起作用了,你最终会在你现在拥有的一个场景中结束。我想有大写字母的表是故意以这种方式创建的,在JDBC模板中它是这样工作的?请参阅这篇相关文章:PostgreSQL列名区分大小写吗?
在JPA
的@table
注释中声明表名时,它总是落到小写。为了处理这种情况,可能会进行一些调整,如本文描述的Spring boot、JPA、insert in TABLE和Hibernate的大写字母名称
@Table(name="\"accCriteria_tbl\""
我试图生成私钥和公钥对。我想使用私钥签署我的JWT,并将公钥发送给第三方来解码我的JWT。 在mac os终端上,我生成了如下密钥: ssh-keygen-m PEM-t rsa-b 2048 现在我有了pkey吗 rsa_private=OpenSSL::PKey::rsa。新建(File.read(“/path/to/private/key/pkey”)) 你是私人的。要\u s “----开
问题内容: 我回到Java世界,并尝试使用JPA,Hibernate和PostgreSQL配置一个新的Spring Web应用程序。 我发现了许多带有各种XML配置文件的较早的示例,并且我想知道是否存在一种不依赖XML文件编写的执行该配置的首选新方法。 我需要配置的一些东西是hibernateSQL方言,驱动程序等。 问题答案: 将以下片段放入带有和注释的类中 Hibernate / JPA(编辑
我正在开发一个多租户应用程序(具有旧的数据库结构),其中我有一个公共用户表和一组基于访问权限的表。 例如,如果用户可以使用不同公司C1和C2的发票,则数据库包含具有名称C1_invoice和C2_invoice的表。 我能够实现添加前缀与一家公司使用组织。冬眠靴子模型命名。物理命名策略标准 所以我可以访问C1_invoice表。但是如何动态选择前缀C1或C2呢?
本文向大家介绍boosting和bagging在不同情况下的选用相关面试题,主要包含被问及boosting和bagging在不同情况下的选用时的应答技巧和注意事项,需要的朋友参考一下 参考回答: Bagging与Boosting的区别: 1)取样方式(样本权重):Bagging是均匀选取,样本的权重相等,Boosting根据错误率取样,错误率越大则权重越大。2)训练集的选择:Bagging随机选择
问题内容: 我正在使用Hibernate + JPA作为我的ORM解决方案。 我正在使用HSQL进行单元测试,并使用PostgreSQL作为真正的数据库。 我希望能够将Postgres的本机UUID类型与Hibernate一起使用,并在其String表示形式中将UUID与HSQL一起用于单元测试(因为HSQL没有UUID类型)。 我正在为Postgres和HSQL单元测试使用具有不同配置的持久性X
任何建议什么将是实施这种行为的最佳方式。 谢谢Bsengar