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

feature: add modeled classes #11

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open

feature: add modeled classes #11

wants to merge 5 commits into from

Conversation

gabizinha12
Copy link
Contributor

Primeira classe de Receita criada.

@pedroluiznogueira
Copy link
Contributor

acho que você poderia alterar o título desse pull request para incluir todas as classes que você criar, já que não são muitas e todas compões a feature de: modelar classes

e ai nós fazemos o code review dessa festure com todas juntas já que todas se relacionam

o que vocês acham ? @gabizinha12 @brMonteiro-G

@gabizinha12
Copy link
Contributor Author

gabizinha12 commented Apr 15, 2022 via email

@pedroluiznogueira pedroluiznogueira linked an issue Apr 15, 2022 that may be closed by this pull request
@pedroluiznogueira pedroluiznogueira added the feature Any kind of feature label Apr 15, 2022
@gabizinha12 gabizinha12 changed the title feature: add first domain class feature: add modeled classes Apr 17, 2022
@gabizinha12 gabizinha12 self-assigned this Apr 17, 2022
@gabizinha12
Copy link
Contributor Author

acho que você poderia alterar o título desse pull request para incluir todas as classes que você criar, já que não são muitas e todas compões a feature de: modelar classes

e ai nós fazemos o code review dessa festure com todas juntas já que todas se relacionam

o que vocês acham ? @gabizinha12 @brMonteiro-G

oi, mas eu coloquei isso, só que em ingles, a unica coisa é que no código tá faltando o resto

@gabizinha12 gabizinha12 linked an issue Apr 23, 2022 that may be closed by this pull request
@Data
@Entity
@Builder
@EqualsAndHashCode(of = "id")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Por qual motivo vc usou essa annotation do equals e hash code ?

Segundo o time do lombok:

Will soon be marked @deprecated; use the @EqualsAndHashCode.Include annotation together with @EqualsAndHashCode(onlyExplicitlyIncluded = true).

Ela usando "of" vai ser deprecada em breve,,,

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cara não manjo muito de lombok kkk

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Não sabia disso, vou corrigir dps

import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

@AllArgsConstructor
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isso serve para todas as classes:

Eu acho que a gente não deveria usar @DaTa nas entidades do JPA por que tem algumas chances de ter conflitos no futuro, essa annotation gera @tostring, @EqualsAndHashCode, @requiredargsconstructor e também @Getter e @Setter.

Tem um artigo legal falando sobre os "riscos" de algumas anotações do JPA com Lombok:

https://thorben-janssen.com/lombok-hibernate-how-to-avoid-common-pitfalls/

Em relação ao @AllArgsConstructor eu acho que a gente poderia colocar acesso private nele, visto que a gente vai usar o @builder então não vamos utilizar em outras partes da aplicação um construtor com os parametros da classes, mas o builder pattern:

@AllArgsConstructor(access = AccessLevel.PRIVATE)

Eu acho que a gente pode colocar o id dessas classes pra serem auto generated, assim cada objeto salvo gera um id automaticamente... uma forma seria:

@Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id;

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bem demais Pedrão, eu também não manjo muito de utilizar o lombok mas vou correr atrás pra ficar por dentro!

Comment on lines +26 to +28
private List<String> ingredients = new ArrayList<>();
private List<String> preparingMode = new ArrayList<>();

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Setter
@AllArgsConstructor(access = AccessLevel.PRIVATE)
@Builder
public class Recipe {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

precisamos de um @NoArgsConstructor nessa classe também

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature Any kind of feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Modelar as classes Configurar banco de dados local em memória
3 participants