├── com.app
└── company
├── Company
├── CompanyController
├── CompanyRepository
└── CompanyService
└── product
├── Product
├── ProductController
├── ProductRepository
└── ProductService
└── util
└── user
├── User
├── UserController
├── UserRepository
└── UserService
├── com.app
└── controller
├── CompanyController
├── ProductController
└── UserController
└── model
├── Company
├── Product
└── User
└── repository
├── CompanyRepository
├── ProductRepository
└── UserRepository
└── service
├── CompanyService
├── ProductService
└── UserService
└── util
For business application package by feature far outweights package by layer due to high modularity, easier code navigation, higher level of abstractions, bettter growth.(MSA)
http://www.javapractices.com/topic/TopicAction.do?Id=205
https://medium.com/sahibinden-technology/package-by-layer-vs-package-by-feature-7e89cde2ae3a