사용자 도구

사이트 도구


java:hibernate:mssqlserver

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
마지막 판 양쪽 다음 판
java:hibernate:mssqlserver [2018/05/24 17:58]
kwon37xi
java:hibernate:mssqlserver [2018/06/24 03:26]
kwon37xi
줄 1: 줄 1:
 ====== Hibernate & MS SQL Server ====== ====== Hibernate & MS SQL Server ======
 +  * [[java:hibernate|Hibernate]]와 [[:mssqlserver|MS SQL Server]]
  
 ===== NVARCHAR Dialect 매핑 ===== ===== NVARCHAR Dialect 매핑 =====
줄 8: 줄 9:
   * [[https://stackoverflow.com/questions/27039300/jpa-sql-server-no-dialect-mapping-for-jdbc-type-9|java - JPA SQL Server No Dialect mapping for JDBC type: -9]]   * [[https://stackoverflow.com/questions/27039300/jpa-sql-server-no-dialect-mapping-for-jdbc-type-9|java - JPA SQL Server No Dialect mapping for JDBC type: -9]]
   * [[https://questionfocus.com/getting-hibernate-and-sql-server-to-play-nice-with-varchar-and-nvarchar.html|Getting Hibernate and SQL Server to play nice with VARCHAR and NVARCHAR - QuestionFocus]]   * [[https://questionfocus.com/getting-hibernate-and-sql-server-to-play-nice-with-varchar-and-nvarchar.html|Getting Hibernate and SQL Server to play nice with VARCHAR and NVARCHAR - QuestionFocus]]
 +  * [[https://blogs.msdn.microsoft.com/sqlcat/2010/04/05/character-data-type-conversion-when-using-sql-server-jdbc-drivers/|Character data type conversion when using SQL Server JDBC drivers | SQL Server Customer Advisory Team]]
 ==== Entity에 NVARCHAR 컬럼 선언을 하려면 ==== ==== Entity에 NVARCHAR 컬럼 선언을 하려면 ====
  
줄 49: 줄 50:
   * ''registerHibernateType''은 [[java:hibernate:dialect|Hibernate Dialect]] 참조   * ''registerHibernateType''은 [[java:hibernate:dialect|Hibernate Dialect]] 참조
  
 +==== 가설 ====
 +  * ''varchar'' 컬럼 매핑을 다음과 같이하고, ''byte[]'' 값을 올바로 넣어주면 잘 작동하지 않을까?<code java>
 +@Column(name="code", columnDefinition="varchar", length=40)
 +private byte[] code;
 +
 +// 그리고 Dialect 에서 
 +registerHibernateType( Types.CHAR, StandardBasicTypes.CHARACTER.getName() );
 +
 +</code>
 +    * 이렇게 하고, String 값을 ''String.getBytes('UTF-16')'' 등으로 Byte로 만들어서 저장하거나 하면 될 듯 하다.
 +    * ''String code''로 선언할 수 이는 방법은없을까?
 +  * 그냥 Hibernate UserType을 만들고, ''varchar''의 데이터를 binary로 변경하고, 이를 String으로 바꿔주면 될 듯하다.
java/hibernate/mssqlserver.txt · 마지막으로 수정됨: 2018/09/10 13:44 저자 kwon37xi