Size: a a a

Programming Offtop

2020 October 09

AK

Anton Korotkikh in Programming Offtop
Dmitry Sapronov
Каждый дрочит как хочет
ну типа того, главное чтобы работало и бабки приносило
источник

d

dimiii in Programming Offtop
Dmitry Sapronov
А я кайфую и не представляю как по-другому. Гибер сложная но очень кастомизируемая штука. Которая покрывает 90% кейсов на реальных проектах. Остальное это уже оптимизации в бд вьюхи там всякие триггеры и прочие составные индексы
C Котлин?
источник

DS

Dmitry Sapronov in Programming Offtop
dimiii
C Котлин?
Я не юзаю котлин
источник

d

dimiii in Programming Offtop
Просто только что загуглил из интереса - там пост на хабре, начинается все с такой шизы:
источник

d

dimiii in Programming Offtop
@MappedSuperclass
abstract class BaseEntity<T> {

  @Id
  @GeneratedValue(strategy = GenerationType.IDENTITY)
  var id: T? = null

  override fun equals(other: Any?): Boolean {
      other ?: return false

      if (this === other) return true

      if (javaClass != ProxyUtils.getUserClass(other)) return false

      other as BaseEntity<*>

      return this.id != null && this.id == other.id
  }

  override fun hashCode() = 25

  override fun toString(): String {
      return "${this.javaClass.simpleName}(id=$id)"
  }
}
источник

VP

Vladimir Petrakovich in Programming Offtop
Quantum Harmonizer
Она-то покрывает, только через завышенную сложность и очень кривым путём. А зачастую нужно просто один сырой запрос бахнуть вместо ста строк джавы.
Ты просто мыслишь не теми категориями, или тебе действительно не нужен ORM
источник

d

dimiii in Programming Offtop
когда писал на жабе - постоянно приседал с этими equals, в руби на порядок реже
источник

VP

Vladimir Petrakovich in Programming Offtop
dimiii
@MappedSuperclass
abstract class BaseEntity<T> {

  @Id
  @GeneratedValue(strategy = GenerationType.IDENTITY)
  var id: T? = null

  override fun equals(other: Any?): Boolean {
      other ?: return false

      if (this === other) return true

      if (javaClass != ProxyUtils.getUserClass(other)) return false

      other as BaseEntity<*>

      return this.id != null && this.id == other.id
  }

  override fun hashCode() = 25

  override fun toString(): String {
      return "${this.javaClass.simpleName}(id=$id)"
  }
}
Хэш-код топчик
источник

IP

Iaroslav Postovalov in Programming Offtop
Vladimir Petrakovich
Ты просто мыслишь не теми категориями, или тебе действительно не нужен ORM
ну я бы противопоставлял хибер экспозеду или jooq'у
источник

IP

Iaroslav Postovalov in Programming Offtop
в первую очередь jooq, потому что джава
источник

d

dimiii in Programming Offtop
Vladimir Petrakovich
Хэш-код топчик
ну абстракт, будем надеяться на лучшее
источник

QH

Quantum Harmonizer in Programming Offtop
Vladimir Petrakovich
Ты просто мыслишь не теми категориями, или тебе действительно не нужен ORM
ну, не только мне. И безо всякого меня ORM — отстой и антипаттерн
источник

d

dimiii in Programming Offtop
Quantum Harmonizer
ну, не только мне. И безо всякого меня ORM — отстой и антипаттерн
для крудов ок
источник

VP

Vladimir Petrakovich in Programming Offtop
dimiii
ну абстракт, будем надеяться на лучшее
Ну с таким equals можно же лучше
источник

QH

Quantum Harmonizer in Programming Offtop
dimiii
для крудов ок
ORM для крудов? Лол, зачем? Можно из постгреса готовый джейсон запрашивать.
источник

AK

Anton Korotkikh in Programming Offtop
Quantum Harmonizer
ну, не только мне. И безо всякого меня ORM — отстой и антипаттерн
и такое есть течение. мол, орм это эталонное нинужно, а если хочешь чутка абстракции навернуть бери query builder'ы максимум.
источник

d

dimiii in Programming Offtop
а можно и там же формировать (!)
источник

VP

Vladimir Petrakovich in Programming Offtop
Iaroslav Postovalov
ну я бы противопоставлял хибер экспозеду или jooq'у
Ну да, вариантов примерно два: спрятаться от SQL или писать его с помощью DSL
Есть ещё вариант "писать руками", но то такое себе, как по мне
источник

QH

Quantum Harmonizer in Programming Offtop
dimiii
а можно и там же формировать (!)
чаво?
источник

VP

Vladimir Petrakovich in Programming Offtop
Quantum Harmonizer
ORM для крудов? Лол, зачем? Можно из постгреса готовый джейсон запрашивать.
Вот это точно отстой и антипаттерн
источник