我想通过spring data JPA中的查询方法从子类中获取数据。不想使用jpql或标准API。我想获得所有与指定accountType和User的连接。我知道jpql以及标准api将完成这项工作,但我想用JPA查询方法实现这一点。下面是我的实体和回购代码。
这是主实体类
@Entity
public class Connection {
@Id
@GeneratedValue(generator = "UUID")
@GenericGenerator(
name = "UUID",
strategy = "org.hibernate.id.UUIDGenerator"
)
@Column(name = "Connection_Id", nullable = false, updatable = false)
private String id;
@Column(name = "User_Id", nullable = false)
private String userId;
@Column(name = "Name", nullable = false, length = 64)
private String name;
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "Connection_Type_Id")
private ConnectionType connectionType;
// default constructor
// getter and setter
}
@Entity
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public abstract class ConnectionType {
@Id
@GeneratedValue(generator = "UUID")
@GenericGenerator(
name = "UUID",
strategy = "org.hibernate.id.UUIDGenerator"
)
@Column(name = "Id", nullable = false)
private String id;
@OneToOne(mappedBy = "connectionType")
private Connection connection;
// default constructor
// getter setter
}
@Entity
public class EmailAccount extends ConnectionType {
@Column(name = "Username", nullable = false)
private String username;
@Column(name = "Password", nullable = false)
private String password;
@Column(name = "Account_Type", nullable = false)
@Enumerated(value = EnumType.STRING)
private AccountType accountType;
@Column(name = "FullName")
private String fullName;
// default constructor
// getter setter
}
@Entity
public class OtehrAccount extends ConnectionType {
@Column(name = "Client_Id", nullable = false)
private String clientId;
@Column(name = "Client_Secret", nullable = false)
private String secret;
// default constructor
// getter and setter
}
下面是存储库
public interface ConnectionRepository extends JpaRepository<Connection, String> {
// Query Method that i want to write but is not valid.
List<Connection> findByUserIdAndconnectionTypeAccountType(String userId, AccountType accountType);
}
repo中的findByUserIdAndconnectionTypeAccountType方法不正确,所以我只想知道天气如何,是否可以根据子类属性编写得到结果的方法?
为了澄清一下,“JPA查询方法”实际上是“Spring Data JPA查询方法”,所以这不是Hibernate问题。在JPQL/HQL中,这种子类型访问通常通过使用treat
运算符来工作,或者在HQL中,它也隐式地工作。由于Spring Data JPA文档没有提到treat操作符,所以我认为这是不可能的:https://docs.Spring.io/Spring-Data/JPA/docs/current/reference/html/#repositories.query-methods.query-creatation
我想写这样的东西: 正如你所看到的,我不能只写像<代码>这样的东西。文档(id),因为我使用了查询对象(where调用)。 我已经看到了这个问题的一些答案,但不是Java。事实上: https://stackoverflow.com/a/52252264/6500085
问题内容: 我有此查询,它运行良好 从此查询中,我从我的位置(这是我的第一张表)中选择所有3 KM的餐厅。 但是我需要从3Km中的食品接头中选择AVG等级。 该查询也运行完美: 但是我需要添加这两个查询,通过它们我可以选择所有那些食品接头及其等级AVG。 问题答案: 只需放置子查询,您将得到结果:
我必须得到特定的数据,如"角色"表已提交状态,我需要状态=1,所有数据从角色表
问题内容: 我在将下面的SQL转换为Zend Db查询时遇到了一些问题。 我之前已经了解了代码-但Zend Db无法正确生成查询。谁能告诉我我想念的东西吗? SQL确实可以正常工作。我想使用Zend Paginator功能来使用Zend Db重写它。 任何帮助是极大的赞赏。 J 问题答案: 这个: 给出以下内容:
问题内容: 谁能帮助我获取下面提到的JPA查询的JPA标准查询。 问题答案: 假设Person与语言有关,这就是您在较早的Hibernate中所做的事情: 我第一次尝试使用JPA 2.0: 请让我知道这是否适合您。 编辑: 更新查询以仅使用一个呼叫。
问题内容: 我有以下sql查询,如何使用yii编写查询? 我没有使用,暂时正在避免使用它。 使用三个表,用户,类别和job_profile。 我已经编写了以下查询,但是我不知道如何包括join: 问题答案: $model = JobProfile::model()->with(‘userrelationname’,’categoryrelationname’)->findAll(array(“co