🔙뒤로가기

@Entity
@NamedQuery(
				name = "Member.findByUsername",
				query="select m from Member m where m.username = :username")
public class Member {
 ...
}

List<Member> resultList = 
	em.createNamedQuery("Member.findByUsername", Member.class)
				.setParameter("username", "회원1")
				.getResultList();

Named 쿼리 - XML에 정의

<persistence-unit name="jpabook" >
	<mapping-file>META-INF/ormMember.xml</mapping-file>
<?xml version="1.0" encoding="UTF-8"?>
<entity-mappings xmlns="<http://xmlns.jcp.org/xml/ns/persistence/orm>" version="2.1">
 
	<named-query name="Member.findByUsername">
		<query><![CDATA[
			select m
			from Member m
			where m.username = :username
		]]></query>
	</named-query>
	<named-query name="Member.count">
	<query>select count(m) from Member m</query>
	</named-query>
</entity-mappings>

Named 쿼리 환경에 따른 설정