小编nig*_*fly的帖子

JPA @EmbeddedId没有生成序列

我有一个表,其复合主键包含一个序列和两个外键我能够持久化我的实体类但它不是根据序列生成的.具有复合主键的表包含一个序列和两个外键,maven中的hbm2java给出以下实体

这是主要实体


package aop.web.teacher.rmodels;

// Generated Dec 14, 2010 8:45:32 PM by Hibernate Tools 3.2.2.GA

import java.util.Date;
import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Schoolmaster generated by hbm2java
 */
@Entity
@Table(name = "schoolmaster", schema = "public")
public class Schoolmaster implements java.io.Serializable {

 private SchoolmasterId id;
        ...


 @EmbeddedId
 @AttributeOverrides({
   @AttributeOverride(name = "id", column = @Column(name = "id", nullable = false)),
   @AttributeOverride(name = "districtId", column …
Run Code Online (Sandbox Code Playgroud)

jpa auto-generate

7
推荐指数
2
解决办法
9061
查看次数

mysql json where 子句

我有一个表,表 PRICING_DATA 中包含以下 json 数据类型列

pricingJson type json nullable
Run Code Online (Sandbox Code Playgroud)

我正在使用sql来查询表。

select * from `PRICING_DATA` where `pricingJson`->"$.product.productFamily" = "Compute Instance";
Run Code Online (Sandbox Code Playgroud)

示例 json 数据如下所示

{
"product": {
    "productFamily": "Compute Instance",
    "attributes": {
        "enhancedNetworkingSupported": "Yes",.....
Run Code Online (Sandbox Code Playgroud)

但查询没有返回任何行。我在这里做错了什么?

来自数据库的 Json 原始字符串似乎被转义了。

"{\"product\":{\"productFamily\":\"Compute Instance\",\"attributes\":{\"enhancedNetworkingSupported\":\"Yes
Run Code Online (Sandbox Code Playgroud)

我已经使用了下面的 json unquote,但它仍然没有给我任何行。

select * from `PRICING_DATA` where JSON_UNQUOTE(JSON_EXTRACT(pricingJson, "$.product.productFamily")) = "Compute Instance";
Run Code Online (Sandbox Code Playgroud)

mysql json sqldatatypes mysql-8.0

4
推荐指数
1
解决办法
1万
查看次数

hibernate中的JPA bigdecimal问题

我已经为hibernate使用了maven插件,并且它生成了实体类而没有标识与ID字段相关的序列,id字段生成为BigDecimal ...现在即使我通过代码指向现有序列,如...


@Entity
@javax.persistence.SequenceGenerator(

name = "SEQ_NATUREMASTER", sequenceName = "aop_teqachers_school_nature_id_seq")
@Table(name = "aop_teachers_school_nature_master", schema = "public", uniqueConstraints = @UniqueConstraint(columnNames = "school_nature"))
public class AopTeachersSchoolNatureMaster implements java.io.Serializable {

 /**
  * Above code is added after generating entity class
  */

 private BigDecimal id;
Run Code Online (Sandbox Code Playgroud)

我收到了错误


INFO : aop.web.teacher.controller.SchoolMasterInsertController - Attemped saving!testnature
Hibernate: select nextval ('aop_teqachers_school_nature_id_seq')
Dec 14, 2010 6:57:26 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet appServlet threw exception
org.hibernate.id.IdentifierGenerationException: this id generator generates long, integer, short or string
 at org.hibernate.id.IdentifierGeneratorHelper.get(IdentifierGeneratorHelper.java:123)
 at org.hibernate.id.SequenceGenerator.generate(SequenceGenerator.java:101) …
Run Code Online (Sandbox Code Playgroud)

java postgresql hibernate jpa sequence

3
推荐指数
1
解决办法
3072
查看次数

在春季3,无法在JPA中坚持实体

尽管findAll在这里工作,但我无法在JPA中持久化实体.这是JpaDAO


package aop.web.teacher.dao;

import java.lang.reflect.ParameterizedType;
import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.PersistenceException;
import javax.persistence.Query;

import org.apache.log4j.Logger;
import org.springframework.orm.jpa.JpaCallback;
import org.springframework.orm.jpa.support.JpaDaoSupport;
import org.springframework.stereotype.Repository;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;


public abstract class JpaDAO extends JpaDaoSupport {
 protected Class entityClass;

 private static Logger log = Logger.getLogger(JpaDAO.class);

 @SuppressWarnings("unchecked")
 public JpaDAO() {
  ParameterizedType genericSuperclass = (ParameterizedType) getClass()
    .getGenericSuperclass();
  this.entityClass = (Class) genericSuperclass
    .getActualTypeArguments()[1];
 }

 @Transactional(readOnly = false, propagation = Propagation.REQUIRES_NEW)
 public void persist(E entity) {
  getJpaTemplate().persist(entity);
 }

 @Transactional
 public void remove(E entity) {
  getJpaTemplate().remove(entity);
 } …
Run Code Online (Sandbox Code Playgroud)

java spring hibernate jpa

2
推荐指数
1
解决办法
4642
查看次数

用于展平树的简单公用表表达式

以下是我的表格格式.表名:: USERS

userid reporttouserid
------ ------------
101    NULL
102    101
103    102
Run Code Online (Sandbox Code Playgroud)

现在我需要一个查询来列出101下的所有子用户ID 102和103两者(103是间接在101以下,因为其父102在101以下)

我在postgresql中看到了常见的表表达式,但却无法弄清楚如何去做.

sql postgresql common-table-expression

0
推荐指数
1
解决办法
804
查看次数

AWS lambda 通过专用网络调用 dynamo db 或绕过互联网流量

我有一个 lambda 函数,它每 15 分钟运行一次,并将一些数据保存在 DynamoDB 中。

现在我想保护我的 lambda 发出的 DynamoDB 调用,以便请求不会通过 Internet,而是通过 Amazon 内部网络。不过这里不涉及 EC2 实例。

我看到了一些使用 PrivateLink 的建议,它将 Dynamo 绑定到 VPC 端点,以便从 EC2 实例发出的调用始终通过内部网络绕过 Internet。

我想知道 lamda 调用 DynamoDB 是否可以进行这样的配置,因为 lamda 本身不在任何 EC2 实例中运行并且是无服务器的?

amazon-web-services aws-lambda aws-vpc

0
推荐指数
1
解决办法
3086
查看次数