组:
@Entity
@Table(schema = "HR", name = "GROUPS")
public class Group {
@Id
@GeneratedValue(strategy = IDENTITY)
@Column(name = "GROUP_ID")
private Long id;
@Column(name = "GROUP_NAME")
private String name;
@Column(name = "GROUP_ACTIVE")
private String active;
用户:
@Entity
@Table(schema = "HR", name = "USERS")
public class User {
@Id
@GeneratedValue(strategy = IDENTITY)
@Column(name = "USER_ID")
private Long id;
@Column(name = "USER_NAME")
private String name;
@Column(name = "GROUP_ID")
private Long groupId;
@ManyToMany
@JoinTable(
schema = "HR",
name = "GROUPS",
joinColumns = {@JoinColumn(table = "GROUPS", name = "GROUP_ID", insertable = false, updatable = false)},
inverseJoinColumns = {@JoinColumn(table = "USERS", name = "GROUP_ID", insertable = false, updatable = false)}
)
@WhereJoinTable(clause = "GROUP_ACTIVE='Y'")
private List<Group> group;
存储库类:
public interface UserRepository extends CrudRepository<User, Long>{
List<User> findByName (String name);
}
SELECT U.*
FROM HR.USER U, HR.GROUP G
WHERE U.GROUP_ID=G.GROUP_ID
AND G.GROUP_ACTIVE='Y'
AND U.USER_NAME=?
我根据您的设置做了一些测试,解决方案需要使用过滤器(假设只有一个组具有Group_Activity='y'):
集团实体
@Entity
@Table(schema = "HR", name = "GROUPS")
public class Group {
@OneToMany(mappedBy = "group")
@Filter(name = "activityFilter")
private Set<User> users;
用户实体
@Entity
@Table(schema = "HR", name = "USERS")
@FilterDef(name="activityFilter"
, defaultCondition="group_id =
(select g.id from groups g where g.GROUP_ACTIVE='Y')")
public class User {
@ManyToOne
@JoinColumn(name = "group_id")
private Group group;
session.enableFilter("activityFilter");
session.createQuery("select u from Group g inner join g.users u where u.user_name = :userName");
@FilterDef(name="activityFilter"
, defaultCondition="group_id in
(select g.id from group g where g.GROUP_ACTIVE='Y')")
我正在尝试从mysql数据库中检索今天的记录。 和控制器代码: 我希望通过使用findByDate(...)获得今天的记录方法,但似乎不起作用。在查看MysqlWorkbench的数据时,我还注意到一个小问题:日期似乎提前了2小时(例如:现在是11:57,但在mysql workbench软件中显示的是9:57,当我查询服务器时间时,显示的是不正确的tme……)我其实不关心小时/分钟/秒,我只想检
我有两个数据帧df1和df2。 i、 e.df1的索引为天,df2的索引为日期时间。我想在索引上执行DF1和DF2的内部连接,这样如果DF2中对应于DF2的时间在DF1中可用,则我们认为内部连接为真,否则为假。 我想获得两个df11和df22作为输出. df11将有共同的日期和相应的列从df1. df22将有共同的日期小时和相应的列从df2. "例如df1中的"2002-08-04"和df2中的"
我有一个pyspark数据帧(df1 ),它由10K行组成,数据帧看起来像- 另一个pyspark数据帧(df2)由100k记录组成,看起来像- 我想使用pyspark内连接,最终的数据帧看起来像- df2中mobile_no的长度是12,但df1中是10。我可以加入它,但这是昂贵的操作。使用pyspark有帮助吗?
作为一个爱好项目,我目前正在开发一个全堆栈的web应用程序。 我的技术堆栈是: MySql数据库 我已经对数据库进行了建模,并为数据库中的所有表创建了jpa实体。数据模型包括一些双向关系(多对多关系)。然后,我开始为前端创建一些APIendpoint进行交互,但我在决定如何序列化数据并将其发送到前端时遇到了一些问题。 在大多数教程和示例中,与数据库对象直接相似的对象被序列化,然后发送到前端。但我不
我有一个用spring boot Version1.5.x编写的项目,它连接到一个MariaDB数据库和几个表,它们之间有大量的关系。为了查询数据库,我使用org.springframework.data.jpa.repository中提供的JpaSpecificationExecutor接口。我们使用规范的原因是为了构建动态查询,而不必为存储库本身中的每个筛选可能性编写新的查询。在实体本身中,每
我试图在JPA2中进行一些查询,但它不断调用另一个查询来获取依赖项的信息 我的课程是: 我把这样的查询称为: 但我的结果是: