Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

값 객체를 관계형 데이터베이스에 저장해야 하는 경우 어떤 방법이 효과적일까? #2

Open
seo-hy opened this issue Feb 24, 2024 · 5 comments

Comments

@seo-hy
Copy link

seo-hy commented Feb 24, 2024

예제 중 FullName(FirstName, LastName) 값 객체를 속성으로 값는 User 클래스가 있다고 가정합니다.

User를 관계형 데이터베이스에 저장할 때 FullName 값 객체는 User 테이블에서 어떤 방식으로 저장되는 것이 가장 효과적이라고 생각하나요?

namespace _04
{
    class FullName
    {
        public FullName(string firstName, string lastName)
        {
            FirstName = firstName;
            LastName = lastName;
        }

        public string FirstName { get; }
        public string LastName { get; }
    }
}
@seo-hy seo-hy changed the title 값 객체를 관계형 데이터베이스에 저장해야 하는 경우 값 객체를 관계형 데이터베이스에 저장해야 하는 경우, 여러 상황 및 효과적인 방법에 대한 논의 Feb 24, 2024
@seo-hy
Copy link
Author

seo-hy commented Feb 24, 2024

예제 중 FullName(FirstName, LastName) 값 객체를 속성으로 값는 User 클래스가 있다고 가정합니다.

User를 관계형 데이터베이스에 저장할 때 FullName 값 객체는 어떤 방식으로 저장되는 것이 가장 효과적이라고 생각하나요?

json 타입을 지원하는 경우, FullName을 json 타입으로 저장하는 건 어떨까요?

insert into users(id, full_name) values(1, '{ "firstName" : "Seohyun", "lastName" : "Kim" }');

@urr-woowahan
Copy link

firstName, LastName을 column으로 가져서 따로 저장하면 된다고 생각했습니다!

값 객체를 json으로 저장하시려는 이유가 있으신가요?

@seo-hy
Copy link
Author

seo-hy commented Feb 26, 2024

json 으로 저장했을때 테이블에서 엔티티를 더 잘 표현할 수 있다고 생각했어요.
현우님 말씀하신 방식대로면 엔티티상에서는 User가 fullName을 가지고 있는데, 테이블에서는 User가 lastName과 firstName을 가지고 있다고 표현하게 되어 차이를 가지게 되고,
애플리케이션에서 lastName과 firstName을 조합해서 fullName을 다시 만들어 줘야한다는 점이 추가적으로 필요하다고 생각했어요!

@java-saeng
Copy link
Contributor

아하 그러면 서현님은 db의 구조와 애플리케이션에서의 값을 가지는 구조(구조체)를 일치시키고 싶으신거군요

여기서 또 질문이 왜 일치시켜야하는지? 궁금합니다

DB는 데이터를 저장하는 용도라고 생각이 들어서 저는 굳이 일치시켜야하는가?에 의문이 들어서요

@seo-hy
Copy link
Author

seo-hy commented Mar 4, 2024

그렇네요,, 제가 머리속으로 계속 DB와 엔티티를 일치시켜야한다고 생각하고 있었던 것 같아요! 그게 추후 데이터를 확인할 때 용이하다고 판단했어요!
DB와 엔티티를 굳이 일치시킬 필요가 없다면 현우님 말씀하신 방법도 좋아보입니다!

@seo-hy seo-hy changed the title 값 객체를 관계형 데이터베이스에 저장해야 하는 경우, 여러 상황 및 효과적인 방법에 대한 논의 값 객체를 관계형 데이터베이스에 저장해야 하는 경우 어떤 방법이 효과적일까? Mar 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants