{"id":15952442,"url":"https://github.com/try0/jpa-criteria-examples","last_synced_at":"2026-01-29T03:07:52.781Z","repository":{"id":54182302,"uuid":"168905910","full_name":"try0/jpa-criteria-examples","owner":"try0","description":"JPA Criteria API examples","archived":false,"fork":false,"pushed_at":"2022-08-06T23:59:48.000Z","size":27,"stargazers_count":2,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-06T17:37:37.687Z","etag":null,"topics":["criteria-api","eclipselink","examples","h2-database","java","jpa","samples"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/try0.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-02-03T03:37:29.000Z","updated_at":"2023-05-23T11:48:57.000Z","dependencies_parsed_at":"2022-08-13T08:31:30.254Z","dependency_job_id":null,"html_url":"https://github.com/try0/jpa-criteria-examples","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/try0/jpa-criteria-examples","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/try0%2Fjpa-criteria-examples","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/try0%2Fjpa-criteria-examples/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/try0%2Fjpa-criteria-examples/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/try0%2Fjpa-criteria-examples/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/try0","download_url":"https://codeload.github.com/try0/jpa-criteria-examples/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/try0%2Fjpa-criteria-examples/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28861690,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-28T22:56:21.783Z","status":"online","status_checked_at":"2026-01-29T02:00:06.714Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["criteria-api","eclipselink","examples","h2-database","java","jpa","samples"],"created_at":"2024-10-07T13:08:37.739Z","updated_at":"2026-01-29T03:07:52.768Z","avatar_url":"https://github.com/try0.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# jpa-criteria-examples\nJPA Criteria API examples\n\n\nEclipseLink, H2DB\n\n\n[examples](https://github.com/try0/jpa-criteria-examples/blob/master/src/test/java/jp/try0/jpa/criteria/example/CriteriaApiExamples.java)\n\n\nWhen the tests are run, the table is created in the in-memory h2db and the executed sql is output to the log.\n\n```\n情報: start initialize [日 8月 07 08:59:19 JST 2022]\n[EL Info]: 2022-08-07 08:59:20.138--ServerSession(2144644334)--EclipseLink, version: Eclipse Persistence Services - 2.7.10.v20211216-fe64cd39c3\n[EL Fine]: sql: 2022-08-07 08:59:20.774--ServerSession(2144644334)--Connection(1402333753)--CREATE TABLE m_group (group_id VARCHAR NOT NULL, NAME VARCHAR, PRIMARY KEY (group_id))\n[EL Fine]: sql: 2022-08-07 08:59:20.787--ServerSession(2144644334)--Connection(1402333753)--CREATE TABLE m_user (user_id VARCHAR NOT NULL, age INTEGER, NAME VARCHAR, PASSWORD VARCHAR, user_number INTEGER, PRIMARY KEY (user_id))\n[EL Fine]: sql: 2022-08-07 08:59:20.79--ServerSession(2144644334)--Connection(1402333753)--CREATE TABLE user_group (group_id VARCHAR NOT NULL, user_id VARCHAR NOT NULL, PRIMARY KEY (group_id, user_id))\n[EL Fine]: sql: 2022-08-07 08:59:20.792--ServerSession(2144644334)--Connection(1402333753)--CREATE TABLE email_address (user_id VARCHAR NOT NULL, email_address VARCHAR, PRIMARY KEY (user_id))\n[EL Fine]: sql: 2022-08-07 08:59:20.794--ServerSession(2144644334)--Connection(1402333753)--ALTER TABLE email_address ADD CONSTRAINT FK_email_address_user_id FOREIGN KEY (user_id) REFERENCES m_user (user_id)\n[EL Fine]: sql: 2022-08-07 08:59:21.043--ClientSession(219812012)--Connection(1402333753)--INSERT INTO m_user (user_id, age, NAME, PASSWORD, user_number) VALUES (?, ?, ?, ?, ?)\n\tbind =\u003e [uid1, 43, UserName1, 93439e71, 1]\n[EL Fine]: sql: 2022-08-07 08:59:21.046--ClientSession(219812012)--Connection(1402333753)--INSERT INTO m_user (user_id, age, NAME, PASSWORD, user_number) VALUES (?, ?, ?, ?, ?)\n\tbind =\u003e [uid3, 47, UserName3, 1f1693e1, 3]\n[EL Fine]: sql: 2022-08-07 08:59:21.046--ClientSession(219812012)--Connection(1402333753)--INSERT INTO m_user (user_id, age, NAME, PASSWORD, user_number) VALUES (?, ?, ?, ?, ?)\n\tbind =\u003e [uid4, 86, UserName4, 63843736, 4]\n[EL Fine]: sql: 2022-08-07 08:59:21.047--ClientSession(219812012)--Connection(1402333753)--INSERT INTO m_user (user_id, age, NAME, PASSWORD, user_number) VALUES (?, ?, ?, ?, ?)\n\tbind =\u003e [uid0, 18, UserName0, 4bf5deee, 0]\n[EL Fine]: sql: 2022-08-07 08:59:21.047--ClientSession(219812012)--Connection(1402333753)--INSERT INTO m_user (user_id, age, NAME, PASSWORD, user_number) VALUES (?, ?, ?, ?, ?)\n\tbind =\u003e [uid2, 37, UserName2, 74f0d62c, 2]\n[EL Fine]: sql: 2022-08-07 08:59:21.047--ClientSession(219812012)--Connection(1402333753)--INSERT INTO email_address (user_id, email_address) VALUES (?, ?)\n\tbind =\u003e [uid2, EmailAddress2@example.com]\n[EL Fine]: sql: 2022-08-07 08:59:21.049--ClientSession(219812012)--Connection(1402333753)--INSERT INTO email_address (user_id, email_address) VALUES (?, ?)\n\tbind =\u003e [uid0, EmailAddress0@example.com]\n[EL Fine]: sql: 2022-08-07 08:59:21.05--ClientSession(219812012)--Connection(1402333753)--INSERT INTO email_address (user_id, email_address) VALUES (?, ?)\n\tbind =\u003e [uid1, EmailAddress1@example.com]\n[EL Fine]: sql: 2022-08-07 08:59:21.05--ClientSession(219812012)--Connection(1402333753)--INSERT INTO email_address (user_id, email_address) VALUES (?, ?)\n\tbind =\u003e [uid4, EmailAddress4@example.com]\n[EL Fine]: sql: 2022-08-07 08:59:21.051--ClientSession(219812012)--Connection(1402333753)--INSERT INTO email_address (user_id, email_address) VALUES (?, ?)\n\tbind =\u003e [uid3, EmailAddress3@example.com]\n[EL Fine]: sql: 2022-08-07 08:59:21.051--ClientSession(219812012)--Connection(1402333753)--INSERT INTO m_group (group_id, NAME) VALUES (?, ?)\n\tbind =\u003e [gid4, GroupName4]\n[EL Fine]: sql: 2022-08-07 08:59:21.051--ClientSession(219812012)--Connection(1402333753)--INSERT INTO m_group (group_id, NAME) VALUES (?, ?)\n\tbind =\u003e [gid0, GroupName0]\n[EL Fine]: sql: 2022-08-07 08:59:21.052--ClientSession(219812012)--Connection(1402333753)--INSERT INTO m_group (group_id, NAME) VALUES (?, ?)\n\tbind =\u003e [gid2, GroupName2]\n[EL Fine]: sql: 2022-08-07 08:59:21.052--ClientSession(219812012)--Connection(1402333753)--INSERT INTO m_group (group_id, NAME) VALUES (?, ?)\n\tbind =\u003e [gid1, GroupName1]\n[EL Fine]: sql: 2022-08-07 08:59:21.052--ClientSession(219812012)--Connection(1402333753)--INSERT INTO m_group (group_id, NAME) VALUES (?, ?)\n\tbind =\u003e [gid3, GroupName3]\n[EL Fine]: sql: 2022-08-07 08:59:21.054--ClientSession(219812012)--Connection(1402333753)--INSERT INTO user_group (group_id, user_id) VALUES (?, ?)\n\tbind =\u003e [gid4, uid4]\n[EL Fine]: sql: 2022-08-07 08:59:21.054--ClientSession(219812012)--Connection(1402333753)--INSERT INTO user_group (group_id, user_id) VALUES (?, ?)\n\tbind =\u003e [gid0, uid0]\n[EL Fine]: sql: 2022-08-07 08:59:21.054--ClientSession(219812012)--Connection(1402333753)--INSERT INTO user_group (group_id, user_id) VALUES (?, ?)\n\tbind =\u003e [gid1, uid1]\n[EL Fine]: sql: 2022-08-07 08:59:21.055--ClientSession(219812012)--Connection(1402333753)--INSERT INTO user_group (group_id, user_id) VALUES (?, ?)\n\tbind =\u003e [gid3, uid3]\n[EL Fine]: sql: 2022-08-07 08:59:21.055--ClientSession(219812012)--Connection(1402333753)--INSERT INTO user_group (group_id, user_id) VALUES (?, ?)\n\tbind =\u003e [gid2, uid2]\n情報: end initialize [日 8月 07 08:59:21 JST 2022]\n情報: ========= Sub Query ========= [日 8月 07 08:59:21 JST 2022]\n[EL Fine]: sql: 2022-08-07 08:59:21.133--ServerSession(2144644334)--Connection(1402333753)--SELECT t0.user_id, t0.age, t0.NAME, t0.PASSWORD, t0.user_number FROM m_user t0 WHERE t0.user_id IN (SELECT t1.user_id FROM email_address t1 WHERE t1.email_address LIKE ?)\n\tbind =\u003e [%@gmail.com]\n\n情報: ========= Select All ========= [日 8月 07 08:59:21 JST 2022]\n[EL Fine]: sql: 2022-08-07 08:59:21.163--ServerSession(2144644334)--Connection(1402333753)--SELECT user_id, age, NAME, PASSWORD, user_number FROM m_user\n\n情報: ========= Fetch Left Join ========= [日 8月 07 08:59:21 JST 2022]\n[EL Fine]: sql: 2022-08-07 08:59:21.192--ServerSession(2144644334)--Connection(1402333753)--SELECT t1.user_id, t1.age, t1.NAME, t1.PASSWORD, t1.user_number, t0.user_id, t0.email_address FROM {oj m_user t1 LEFT OUTER JOIN email_address t0 ON (t0.user_id = t1.user_id)}\n\n情報: ========= Delete ========= [日 8月 07 08:59:21 JST 2022]\n[EL Fine]: sql: 2022-08-07 08:59:21.206--ClientSession(1232703108)--Connection(1402333753)--DELETE FROM m_user WHERE (user_id = ?)\n\tbind =\u003e [0000]\n\n情報: ========= Select Using Function ========= [日 8月 07 08:59:21 JST 2022]\n[EL Fine]: sql: 2022-08-07 08:59:21.214--ServerSession(2144644334)--Connection(1402333753)--SELECT user_id, UUID() FROM m_user\n\n情報: ========= Fetch Inner Join ========= [日 8月 07 08:59:21 JST 2022]\n[EL Fine]: sql: 2022-08-07 08:59:21.236--ServerSession(2144644334)--Connection(1402333753)--SELECT t1.user_id, t1.age, t1.NAME, t1.PASSWORD, t1.user_number, t0.user_id, t0.email_address FROM email_address t0, m_user t1 WHERE (t0.user_id = t1.user_id)\n\n情報: ========= Group By \u0026 Having ========= [日 8月 07 08:59:21 JST 2022]\n[EL Fine]: sql: 2022-08-07 08:59:21.244--ServerSession(2144644334)--Connection(1402333753)--SELECT NAME, SUM(user_number) FROM m_user GROUP BY NAME HAVING (SUM(user_number) \u003e ?)\n\tbind =\u003e [100]\n\n情報: ========= Update ========= [日 8月 07 08:59:21 JST 2022]\n[EL Fine]: sql: 2022-08-07 08:59:21.257--ClientSession(382252989)--Connection(1402333753)--UPDATE m_user SET NAME = ? WHERE (user_id = ?)\n\tbind =\u003e [new-name, 0000]\n\n情報: ========= Inner Join ========= [日 8月 07 08:59:21 JST 2022]\n[EL Fine]: sql: 2022-08-07 08:59:21.266--ServerSession(2144644334)--Connection(1402333753)--SELECT t1.user_id, t1.age, t1.NAME, t1.PASSWORD, t1.user_number FROM email_address t0, m_user t1 WHERE (t0.email_address LIKE ? AND (t0.user_id = t1.user_id))\n\tbind =\u003e [a%]\n\n情報: ========= Multi Select ========= [日 8月 07 08:59:21 JST 2022]\n[EL Fine]: sql: 2022-08-07 08:59:21.279--ServerSession(2144644334)--Connection(1402333753)--SELECT user_id, NAME FROM m_user\n\n情報: ========= Avg ========= [日 8月 07 08:59:21 JST 2022]\n[EL Fine]: sql: 2022-08-07 08:59:21.283--ServerSession(2144644334)--Connection(1402333753)--SELECT AVG(age) FROM m_user\n\n情報: ========= Max ========= [日 8月 07 08:59:21 JST 2022]\n[EL Fine]: sql: 2022-08-07 08:59:21.29--ServerSession(2144644334)--Connection(1402333753)--SELECT MAX(age) FROM m_user\n\n情報: ========= Min ========= [日 8月 07 08:59:21 JST 2022]\n[EL Fine]: sql: 2022-08-07 08:59:21.294--ServerSession(2144644334)--Connection(1402333753)--SELECT MIN(age) FROM m_user\n\n情報: ========= Count ========= [日 8月 07 08:59:21 JST 2022]\n[EL Fine]: sql: 2022-08-07 08:59:21.299--ServerSession(2144644334)--Connection(1402333753)--SELECT COUNT(user_id) FROM m_user\n\n情報: ========= Group By ========= [日 8月 07 08:59:21 JST 2022]\n[EL Fine]: sql: 2022-08-07 08:59:21.304--ServerSession(2144644334)--Connection(1402333753)--SELECT NAME, SUM(user_number) FROM m_user GROUP BY NAME\n\n情報: ========= Select With Condition ========= [日 8月 07 08:59:21 JST 2022]\n[EL Fine]: sql: 2022-08-07 08:59:21.309--ServerSession(2144644334)--Connection(1402333753)--SELECT user_id, age, NAME, PASSWORD, user_number FROM m_user WHERE (user_id = ?)\n\tbind =\u003e [0000]\n\n情報: ========= Left Join ========= [日 8月 07 08:59:21 JST 2022]\n[EL Fine]: sql: 2022-08-07 08:59:21.314--ServerSession(2144644334)--Connection(1402333753)--SELECT t1.user_id, t1.age, t1.NAME, t1.PASSWORD, t1.user_number FROM {oj m_user t1 LEFT OUTER JOIN email_address t0 ON (t0.user_id = t1.user_id)} WHERE t0.email_address LIKE ?\n\tbind =\u003e [a%]\n\n情報: ========= Cross Join (No relations) ========= [日 8月 07 08:59:21 JST 2022]\n[EL Fine]: sql: 2022-08-07 08:59:21.322--ServerSession(2144644334)--Connection(1402333753)--SELECT t0.user_id, t0.age, t0.NAME, t0.PASSWORD, t0.user_number FROM m_user t0, user_group t1 WHERE ((t0.user_id = t1.user_id) AND (t1.group_id IN (?, ?)))\n\tbind =\u003e [gid1, gid2]\n\n\n\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftry0%2Fjpa-criteria-examples","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftry0%2Fjpa-criteria-examples","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftry0%2Fjpa-criteria-examples/lists"}